package com.cloud.pole.weixin.model.entity;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.validator.constraints.NotEmpty;

import lombok.Data;

/**
 * @author 
 */
@Table(name="wx_app")
@Data
public class WxApp implements Serializable {
    /**
     * 应用状态（0：无效 1：有效）
     */
    public static final int APP_STATUS_OK = 1;
    public static final int APP_STATUS_INVALID = 0;
    
    /**
     * 内部定义应用id
     */
    @Id
    @Column(name="wx_app_id")
    private Integer wxAppId;

    /**
     * 平台名称
     */
    @NotEmpty
    @Column(name="app_name")
    private String appName;

    /**
     * 平台名称类别 1 微信服务号 2微信订阅号 3微信企业号 4 微信小程序 5 其他
     */
    @NotEmpty
    @Column(name="app_type")
    private Integer appType;

    /**
     * 微信应用ID
     */
    @NotEmpty
    @Column(name="app_id")
    private String appId;

    /**
     * 获取用户OpenId重定向地址
     */
    @Column(name="redirect_uri")
    private String redirectUri;

    /**
     * 微信应用密钥
     */
    @Column(name="app_secret")
    private String appSecret;

    /**
     * 商户号
     */
    @Column(name="mchid")
    private String mchid;

    /**
     * 支付键值
     */
    @Column(name="pay_key")
    private String payKey;

    /**
     * 应用状态（0：无效 1：有效）
     */
    @Column(name="app_status")
    private Integer appStatus;

    /**
     * 备注
     */
    @Column(name="app_note")
    private String appNote;
    
    /**
     * 微信原始id
     */
    @Column(name="original_id")
    private String originalId;
   
    /**
     * token
     */
    @Column(name="token")
    private String token;
    
    private static final long serialVersionUID = 1L;
}